# Kafka

## 📘 Resources
- [Apache Kafka Official Website](https://kafka.apache.org/)
- [Apache Kafka Documentation](https://kafka.apache.org/documentation/)
- [Apache Kafka GitHub](https://github.com/apache/kafka)
- [gentlydownthe WebSite](https://www.gentlydownthe.stream/)
- [nayekabhishek1/awesome-kafka](https://github.com/nayekabhishek1/awesome-kafka) - A curated list about Apache Kafka
- [infoslack/awesome-kafka](https://github.com/infoslack/awesome-kafka) - A list about Apache Kafka
- [dttung2905/kafka-in-production](https://github.com/dttung2905/kafka-in-production) - Tech blogs & talks by companies that run Kafka in production

## 📕 Articles
- [INTRODUCTION - Everything you need to know about Kafka in 10 minutes](https://kafka.apache.org/intro)
- [Introduction to Kafka](https://docs.confluent.io/platform/current/kafka/introduction.html)
- [Apache Kafka 101](https://developer.confluent.io/learn-kafka/apache-kafka/events/)
- [Kafka in a Nutshell](https://sookocheff.com/post/kafka/kafka-in-a-nutshell/)
- [Event-Driven Architecture with Apache Kafka for .NET Developers Part 1 - Event Producer](https://thecloudblog.net/post/event-driven-architecture-with-apache-kafka-for-net-developers-part-1-event-producer/)
- [Event-Driven Architecture with Apache Kafka for .NET Developers Part 2 - Event Consumer](https://thecloudblog.net/post/event-driven-architecture-with-apache-kafka-for-.net-developers-part-2-event-consumer/)
- [Event-Driven Architecture with Apache Kafka for .NET Developers Part 3 - Azure Event Hubs](https://thecloudblog.net/post/event-driven-architecture-with-apache-kafka-for-net-developers-part-3-azure-event-hubs/)
- [Describing Kafka with AsyncAPI](https://dalelane.co.uk/blog/?p=4219)
- [Building Reliable Reprocessing and Dead Letter Queues with Apache Kafka - Uber Engineering Blog](https://eng.uber.com/reliable-reprocessing/)
- [Building Reliable Kafka Producers and Consumers in .NET](https://thecloudblog.net/post/building-reliable-kafka-producers-and-consumers-in-net/)
- [Understanding Kafka Topic Partitions](https://medium.com/event-driven-utopia/understanding-kafka-topic-partitions-ae40f80552e8)
- [Leader election and Sharding Practices at Wix microservices](https://medium.com/wix-engineering/leader-election-and-sharding-practices-at-wix-microservices-6e6b853e4852)
- [Kafka Quick Start Guide](https://sookocheff.com/post/kafka/kafka-quick-start/)
- [Using Apache Kafka with .NET](https://www.red-gate.com/simple-talk/development/dotnet-development/using-apache-kafka-with-net/)
- [Setting up a Kafka test environment with Kafdrop](https://www.red-gate.com/simple-talk/development/dotnet-development/setting-up-a-kafka-test-environment-with-kafdrop/)
- [Getting Started: Apache Kafka with .NET Core](https://codeopinion.com/getting-started-apache-kafka-with-net-core/)
- [Kafka Listeners – Explained](https://www.confluent.io/blog/kafka-listeners-explained/)
- [Real-Time Exactly-Once Ad Event Processing with Apache Flink, Kafka, and Pinot](https://eng.uber.com/real-time-exactly-once-ad-event-processing/)
- [“The Metamorphosis” of communication with Kafka](https://blexin.com/en/blog-en/the-metamorphosis-of-communication-with-kafka/)
- [Kafka and .NET - Part 1 - What is Kafka?](https://blog.simontimms.com/2021/12/09/2021-12-09-kafka-and-.net/)
- [Deep dive into Apache Kafka storage internals: segments, rolling and retention](https://strimzi.io/blog/2021/12/17/kafka-segment-retention/)
- [Decoupling Systems with Apache Kafka, Schema Registry and Avro](https://www.confluent.io/blog/decoupling-systems-with-apache-kafka-schema-registry-and-avro/)
- [Building Kafka producers and consumers](https://engineering.chrobinson.com/dotnet-avro/guides/kafka/)
- [Introduction to Schema Registry in Kafka](https://medium.com/slalom-technology/introduction-to-schema-registry-in-kafka-915ccf06b902)
- [Why Avro for Kafka Data?](https://www.confluent.io/blog/avro-kafka-data/)
- [Schema Registry Overview](https://docs.confluent.io/platform/current/schema-registry/index.html)
- [Hands-on Kafka Streams in Scala](https://softwaremill.com/hands-on-kafka-streams-in-scala/)
- [Using Apache Kafka for Real-Time Event Processing at New Relic](https://newrelic.com/blog/how-to-relic/apache-kafka-event-processing)
- [Effective Strategies for Kafka Topic Partitioning](https://newrelic.com/blog/best-practices/effective-strategies-kafka-topic-partitioning)
- [Kafka Connect Deep Dive – Converters and Serialization Explained](https://www.confluent.io/blog/kafka-connect-deep-dive-converters-serialization-explained/)
- [Top 5 Things Every Apache Kafka Developer Should Know](https://www.confluent.io/en-gb/blog/5-things-every-kafka-developer-should-know/)
- [Single-partition Kafka topics](https://mikemybytes.com/2021/01/11/single-partition-kafka-topics/)
- [Everything You Need To Know About Kafka](https://betterprogramming.pub/everything-you-need-to-know-about-kafka-a83e2456d14c)
- [In the land of the sizing, the one-partition Kafka topic is king](https://www.buildon.aws/posts/in-the-land-of-the-sizing-the-one-partition-kafka-topic-is-king/01-what-are-partitions/)
- [How Wix manages Schemas for Kafka (and gRPC) used by 2000 microservices](https://medium.com/wix-engineering/how-wix-manages-schemas-for-kafka-and-grpc-used-by-2000-microservices-2117416ea17b)
- [Enabling Seamless Kafka Async Queuing with Consumer Proxy](https://www.uber.com/en-PT/blog/kafka-async-queuing-with-consumer-proxy/)

## 📺 Videos
- [Course | Apache Kafka® Fundamentals](https://www.youtube.com/playlist?list=PLa7VYi0yPIH2PelhRHoFR5iQgflg-y6JA)
- [Apache Kafka® Tutorials | Kafka 101](https://www.youtube.com/playlist?list=PLa7VYi0yPIH0KbnJQcMv5N9iW8HkZHztH)
- [Kafka Connect Tutorials | Kafka Connect 101](https://www.youtube.com/playlist?list=PLa7VYi0yPIH1MB2n2w8pMZguffCDu2L4Y)
- [Streams API for Apache Kafka™ | Produced by Confluent](https://www.youtube.com/playlist?list=PLa7VYi0yPIH1vDclVOB49xUruBAWkOCZD)
- [What is Kafka | Tutorial | Beginners Guide](https://www.youtube.com/watch?v=heR3I3Wxgro)
- [Building Streaming Microservices with Apache Kafka - Tim Berglund](https://www.youtube.com/watch?v=mad84vBHYlY)
- [Getting Started: Apache Kafka + .NET](https://www.youtube.com/watch?v=n_IQq3pze0s)
- [Apache Kafka Crash Course](https://www.youtube.com/watch?v=R873BlNVUB4)
- [Data Streaming for Microservices using Debezium (Gunnar Morling)](https://www.youtube.com/watch?v=NawsloOoFo0)
- [Kafka Connect in Action: Elasticsearch](https://www.youtube.com/watch?v=Cq-2eGxOCc8)
- [Exploring the Kafka Connect REST API](https://www.youtube.com/watch?v=1EenWEm-5dg)
- [Learn Apache Kafka with Conduktor - Playlist - Conduktor](https://www.youtube.com/playlist?list=PLYmXYyXCMsfMMhiKPw4k1FF7KWxOEajsA)
- [Kafka as a Platform: The Ecosystem from the Ground Up • Robin Moffatt • GOTO 2020](https://www.youtube.com/watch?v=qjTZ4UeJdoI)
- [Kafka Connect - Playlist - Robin Moffatt](https://www.youtube.com/playlist?list=PL5T99fPsK7ppB_AbZhBhTyKHtHWZLWIJ8)
- [Apache Kafka - 2022 Edition [.NET 6 Consumer and Producer, Docker containerized Kafka services]](https://www.youtube.com/watch?v=A4Y7z6wFRk0)
- [ASP.NET Producer for Apache Kafka - 2022 Edition [Multiple partitions and ASP.NET Producer]](https://www.youtube.com/watch?v=FzufaOUdA10)
- [Event-driven integration #5 - Quick intro to Apache Kafka [ASPF02O|E044]](https://www.youtube.com/watch?v=tUzCxZdKEr4)
- [Event-driven integration #6 - Publishing events (feat. Apache Kafka) [ASPF02O|E045]](https://www.youtube.com/watch?v=T2Dy7cH486c&t=41s)
- [Building Scalable Real Time Event Processing with Kafka and Flink](https://doordash.engineering/2022/08/02/building-scalable-real-time-event-processing-with-kafka-and-flink/)
- [Apache Kafka in 1 hour for C# Developers - Guilherme Ferreira - Copenhagen DevFest 2023](https://www.youtube.com/watch?v=E07CGvGVal8)

## 📦 Libraries
- [confluentinc/confluent-kafka-dotnet/](https://github.com/confluentinc/confluent-kafka-dotnet/) - Confluent's Apache Kafka .NET client
- [edenhill/kcat](https://github.com/edenhill/kcat) - Generic command line non-JVM Apache Kafka producer and consumer
- [Confluent.SchemaRegistry](https://www.nuget.org/packages/Confluent.SchemaRegistry/)
- [provectus/kafka-ui](https://github.com/provectus/kafka-ui) - Open-Source Web GUI for Apache Kafka Management
- [Farfetch/kafka-flow](https://github.com/Farfetch/kafka-flow) - KafkaFlow is a .NET framework to create Kafka based applications, simple to use and extend.
- [Farfetch/kafka-flow-retry-extensions](https://github.com/Farfetch/kafka-flow-retry-extensions) - Kafka Flow Retry Patterns Extensions
- [conduktor-ui](https://www.conduktor.io/conduktor-ui)
- [obsidiandynamics/kafdrop](https://github.com/obsidiandynamics/kafdrop) - Kafka Web UI
- [LGouellec/kafka-streams-dotnet](https://github.com/LGouellec/kafka-streams-dotnet) - .NET Stream Processing Library for Apache Kafka 

## 🚀 Samples
- [dcomartin/Kafka.Demo](https://github.com/dcomartin/Kafka.Demo)
- [oskardudycz/kafka-connect](https://github.com/oskardudycz/kafka-connect)

## 📚 Books
- [Kafka: The Definitive Guide: Real-Time Data and Stream Processing at Scale 2nd Edition](https://www.amazon.com/Kafka-Definitive-Real-Time-Stream-Processing/dp/1492043087/)
- [Kafka Streams in Action: Real-time apps and microservices with the Kafka Streams API](https://www.amazon.com/Kafka-Streams-Action-Real-time-microservices/dp/1617294470/)
